package gov.pbc.nn.kjgl.maintenance.entity;

import gov.pbc.nn.core.entity.BaseEntity;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

import com.bstek.dorado.annotation.PropertyDef;

/**
 * 系统档案
 * 
 * @author Administrator
 * 
 */
@Entity
@Table(name = "T_SYS_ENTITY")
public class SysEntity extends BaseEntity {

	private static final long serialVersionUID = 2976727716418765253L;

	@Column(name = "NAME_", length = 120)
	@PropertyDef(label = "系统名称")
	private String name;
	@Column(name = "SECRET_")
	@PropertyDef(label = "是否涉密系统")
	private boolean secret;
	@Column(name = "STATE_")
	@PropertyDef(label = "系统状态", description = "0:运行中；1：已撤销")
	private int state;
	@Column(name = "LEVEL_")
	@PropertyDef(label = "系统定级")
	private int level;
	@Column(name = "CORE_")
	@PropertyDef(label = "是否核心系统")
	private boolean core;
	@Column(name = "DESCRIPTION_", length = 500)
	@PropertyDef(label = "与其他系统关系及描述")
	private String description;
	@Column(name = "HAS_BAK_")
	@PropertyDef(label = "是否有备机")
	private boolean hasBak;
	@Column(name = "USE_BAK_")
	@PropertyDef(label = "备机是否使用过")
	private boolean useBak;
	@Column(name = "BAK_DATA_POS_", length = 120)
	@PropertyDef(label = "备份数据存放位置")
	private String bakDataPos;
	@Column(name = "FREQUENCY_", length = 256)
	@PropertyDef(label = "备份频率", description = "发送时间及备份数据大小")
	private String frequency;
	@Column(name = "LOSE_ESTIMATE_", length = 256)
	@PropertyDef(label = "主备切换时数据丢失估算", description = "主备切换时数据丢失估算")
	private String loseEstimate;
	@Column(name = "INFLUENCE_", length = 500)
	@PropertyDef(label = "出故障时会影响哪些业务")
	private String influence;
	@Column(name = "IMPORTANT_CORE_")
	@PropertyDef(label = "是否重要核心系统", description = "发生故障时是否严重影响业务")
	private boolean importantCore;
	@Column(name = "AFFECT_PAY_")
	@PropertyDef(label = "是否影响支付系统运行")
	private boolean affectPay;
	@Column(name = "AFFECT_OUT_")
	@PropertyDef(label = "是否对外产生影响")
	private boolean affectOut;
	@Column(name = "INSPECTION_CAREFUL_", length = 500)
	@PropertyDef(label = "日常巡检应注意哪些方面")
	private String inspectionCareful;
	@Column(name = "EVENT_ID_", length = 60)
	@PropertyDef(label = "系统事件记录ID")
	private String eventId;
	@Column(name = "CHANGE_ID_", length = 60)
	@PropertyDef(label = "系统变更记录ID")
	private String changeId;
	@Column(name = "WEIBAO_")
	@PropertyDef(label = "是否有维保")
	private boolean weibao;
	@Column(name = "WEIBAO_REMARK_", length = 300)
	@PropertyDef(label = "维保单位及联系电话")
	private String weibaoRemark;
	@Column(name = "KVM_")
	@PropertyDef(label = "是否能通过KVM连接")
	private boolean kvm;
	@Column(name = "DEPT_ID_", length = 60)
	private String deptId;
	@Column(name = "DEPT_NAME_", length = 512)
	@PropertyDef(label = "系统业务主管部门")
	private String deptName;
	@Column(name = "OPERATION_DEPT_ID_", length = 60)
	private String operationDeptId;
	@Column(name = "OPERATION_DEPT_NAME_", length = 512)
	@PropertyDef(label = "系统运维部门")
	private String operationDeptName;
	@Column(name = "ENABLE_DATE_")
	@PropertyDef(label = "系统启用时间")
	private Date enableDate;
	@Column(name = "DISABLE_DATE_")
	@PropertyDef(label = "系统撤销时间")
	private Date disableDate;
	@Column(name = "IP_", length = 120)
	@PropertyDef(label = "ip地址")
	private String ip;
	@Column(name = "OS_", length = 200)
	@PropertyDef(label = "操作系统")
	private String os;
	@Column(name = "DATABASE_", length = 200)
	@PropertyDef(label = "数据库")
	private String database;
	@Column(name = "MIDDLEWARE_", length = 200)
	@PropertyDef(label = "中间件")
	private String middleware;
	@Column(name = "MONITOR_RULE_", length = 250)
	@PropertyDef(label = "IT运维监控系统监控规则")
	private String monitorRule;
	@Column(name = "MONITOR_")
	@PropertyDef(label = "是否利用IT运维监控系统进行监控")
	private boolean monitor;
	@Column(name = "TECH_MANAGE_")
	@PropertyDef(label = "服务器是否由科技处管理")
	private boolean techManage;
	@Column(name = "AREA_", length = 120)
	@PropertyDef(label = "系统所在区域")
	private String area;
	@Column(name = "VIRTUAL_")
	@PropertyDef(label = "是否虚拟化")
	private boolean virtual;
	@Column(name = "COUNT_")
	@PropertyDef(label = "所包括的服务器或虚拟机总数")
	private int count;
	@Column(name = "VIRTUAL_COUNT_")
	@PropertyDef(label = "虚拟机总数")
	private int virtualCount;
	@Column(name = "BUG_SCAN_")
	@PropertyDef(label = "是否通过漏洞扫描")
	private boolean bugScan;
	@Column(name = "REMARK_", length = 500)
	@PropertyDef(label = "备注")
	private String remark;
	@Column(name = "AUDIT_STATE_")
	@PropertyDef(label = "审核状态", description = "0:初始；1：审核中；2：通过；3：不通过")
	private int auditState;
	@Column(name = "EDIT_STATE_")
	@PropertyDef(label = "编辑状态", description = "0:正常；1：修改。审核通过后状态是0，单纯修改数据保存则状态是1，状态是1的时候需要审核")
	private int editState;
	
	@Column(name = "SPARE_IP_",length = 120)
	@PropertyDef(label = "备机ip地址", description = "备机ip地址")
	private String spareIp;
	@Column(name = "SPARE_OS_",length = 120)
	@PropertyDef(label = "备机操作系统", description = "备机操作系统")
	private String spareOs;

	public String getSpareIp() {
		return spareIp;
	}

	public void setSpareIp(String spareIp) {
		this.spareIp = spareIp;
	}

	public String getSpareOs() {
		return spareOs;
	}

	public void setSpareOs(String spareOs) {
		this.spareOs = spareOs;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public boolean isSecret() {
		return secret;
	}

	public void setSecret(boolean secret) {
		this.secret = secret;
	}

	public int getState() {
		return state;
	}

	public void setState(int state) {
		this.state = state;
	}

	public int getLevel() {
		return level;
	}

	public void setLevel(int level) {
		this.level = level;
	}

	public boolean isCore() {
		return core;
	}

	public void setCore(boolean core) {
		this.core = core;
	}

	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public boolean isHasBak() {
		return hasBak;
	}

	public void setHasBak(boolean hasBak) {
		this.hasBak = hasBak;
	}

	public boolean isUseBak() {
		return useBak;
	}

	public void setUseBak(boolean useBak) {
		this.useBak = useBak;
	}

	public String getBakDataPos() {
		return bakDataPos;
	}

	public void setBakDataPos(String bakDataPos) {
		this.bakDataPos = bakDataPos;
	}

	public String getFrequency() {
		return frequency;
	}

	public void setFrequency(String frequency) {
		this.frequency = frequency;
	}

	public String getLoseEstimate() {
		return loseEstimate;
	}

	public void setLoseEstimate(String loseEstimate) {
		this.loseEstimate = loseEstimate;
	}

	public String getInfluence() {
		return influence;
	}

	public void setInfluence(String influence) {
		this.influence = influence;
	}

	public boolean isImportantCore() {
		return importantCore;
	}

	public void setImportantCore(boolean importantCore) {
		this.importantCore = importantCore;
	}

	public boolean isAffectPay() {
		return affectPay;
	}

	public void setAffectPay(boolean affectPay) {
		this.affectPay = affectPay;
	}

	public boolean isAffectOut() {
		return affectOut;
	}

	public void setAffectOut(boolean affectOut) {
		this.affectOut = affectOut;
	}

	public String getInspectionCareful() {
		return inspectionCareful;
	}

	public void setInspectionCareful(String inspectionCareful) {
		this.inspectionCareful = inspectionCareful;
	}

	public String getEventId() {
		return eventId;
	}

	public void setEventId(String eventId) {
		this.eventId = eventId;
	}

	public String getChangeId() {
		return changeId;
	}

	public void setChangeId(String changeId) {
		this.changeId = changeId;
	}

	public boolean isWeibao() {
		return weibao;
	}

	public void setWeibao(boolean weibao) {
		this.weibao = weibao;
	}

	public String getWeibaoRemark() {
		return weibaoRemark;
	}

	public void setWeibaoRemark(String weibaoRemark) {
		this.weibaoRemark = weibaoRemark;
	}

	public boolean isKvm() {
		return kvm;
	}

	public void setKvm(boolean kvm) {
		this.kvm = kvm;
	}

	public String getDeptId() {
		return deptId;
	}

	public void setDeptId(String deptId) {
		this.deptId = deptId;
	}

	public String getDeptName() {
		return deptName;
	}

	public void setDeptName(String deptName) {
		this.deptName = deptName;
	}

	public Date getEnableDate() {
		return enableDate;
	}

	public void setEnableDate(Date enableDate) {
		this.enableDate = enableDate;
	}

	public Date getDisableDate() {
		return disableDate;
	}

	public void setDisableDate(Date disableDate) {
		this.disableDate = disableDate;
	}

	public String getIp() {
		return ip;
	}

	public void setIp(String ip) {
		this.ip = ip;
	}

	public String getOs() {
		return os;
	}

	public void setOs(String os) {
		this.os = os;
	}

	public String getDatabase() {
		return database;
	}

	public void setDatabase(String database) {
		this.database = database;
	}

	public String getMiddleware() {
		return middleware;
	}

	public void setMiddleware(String middleware) {
		this.middleware = middleware;
	}

	public String getMonitorRule() {
		return monitorRule;
	}

	public void setMonitorRule(String monitorRule) {
		this.monitorRule = monitorRule;
	}

	public boolean isMonitor() {
		return monitor;
	}

	public void setMonitor(boolean monitor) {
		this.monitor = monitor;
	}

	public boolean isTechManage() {
		return techManage;
	}

	public void setTechManage(boolean techManage) {
		this.techManage = techManage;
	}

	public String getArea() {
		return area;
	}

	public void setArea(String area) {
		this.area = area;
	}

	public boolean isVirtual() {
		return virtual;
	}

	public void setVirtual(boolean virtual) {
		this.virtual = virtual;
	}

	public int getCount() {
		return count;
	}

	public void setCount(int count) {
		this.count = count;
	}

	public int getVirtualCount() {
		return virtualCount;
	}

	public void setVirtualCount(int virtualCount) {
		this.virtualCount = virtualCount;
	}

	public boolean isBugScan() {
		return bugScan;
	}

	public void setBugScan(boolean bugScan) {
		this.bugScan = bugScan;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public int getAuditState() {
		return auditState;
	}

	public void setAuditState(int auditState) {
		this.auditState = auditState;
	}

	public int getEditState() {
		return editState;
	}

	public void setEditState(int editState) {
		this.editState = editState;
	}

	public String getOperationDeptId() {
		return operationDeptId;
	}

	public void setOperationDeptId(String operationDeptId) {
		this.operationDeptId = operationDeptId;
	}

	public String getOperationDeptName() {
		return operationDeptName;
	}

	public void setOperationDeptName(String operationDeptName) {
		this.operationDeptName = operationDeptName;
	}

}
